/**
 * 日期格式化插件
 * 使用方式：formatTime(new Date(), "yyyy-MM-dd")
 * @param {Date/String} time 时间对象或者字符串
 * @param {String} fmt 格式化风格
 * @returns {String} 返回字符串
 */
const formatTime = (time, fmt = 'yyyy-MM-dd') => {
  if (typeof time === 'string') {
    time = new Date(time)
  }
  var o = {
    'M+': time.getMonth() + 1, //月份
    'd+': time.getDate(), //日
    'h+': time.getHours(), //小时
    'm+': time.getMinutes(), //分
    's+': time.getSeconds(), //秒
    'q+': Math.floor((time.getMonth() + 3) / 3), //季度
    S: time.getMilliseconds() //毫秒
  }
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, ('' + time.getFullYear()).substr(4 - RegExp.$1.length))
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length))
  }
  return fmt
}

export default formatTime
